Function at 0x43cfc0
Capabilities:
Create process on windows
Create thread
Resolve function by parsing pe exports
Resume thread

Disassembly:
push 0xffffffffffffffff
push 0x5c861d
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x694114]
xor eax, esp
mov dword [esp + 0x224], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x694114]
xor eax, esp
push eax
lea eax, [esp + 0x23c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x24c]
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x258]
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], ecx
cmp dword [ebp + 0x10], ebx
je 0x43e77f
mov edi, 7
xor edx, edx
mov dword [esp + 0x1d0], edi
mov dword [esp + 0x1cc], ebx
mov word [esp + 0x1bc], dx
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], ebx
xor eax, eax
mov dword [esp + 0x244], ebx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x118], ebx
mov word [esp + 0x108], ax
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
xor ecx, ecx
mov dword [esp + 0x140], edi
mov dword [esp + 0x13c], ebx
mov word [esp + 0x12c], cx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x164], edi
mov dword [esp + 0x160], ebx
mov word [esp + 0x150], dx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
push edi
lea eax, [esp + 0x178]
push eax
mov ecx, ebp
mov byte [esp + 0x24c], 3
call fcn.004221e0
push 0x5fda98
mov ecx, eax
mov byte [esp + 0x248], 4
call fcn.00420870
mov ecx, dword [esp + 0x190]
test eax, eax
push ecx
sete byte [esp + 0x1b]
mov byte [esp + 0x248], 3
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x188], 8
jb 0x43d12e
mov edx, dword [esp + 0x174]
push edx
call fcn.00584768
add esp, 4
cmp byte [esp + 0x17], bl
je 0x43d3ef
mov ecx, dword [esp + 0x118]
cmp ecx, 0x100
ja 0x43d192
mov eax, dword [esp + 0x11c]
cmp eax, 0x100
je 0x43d192
mov esi, ecx
jae 0x43d172
push ecx
push 0x100
lea ecx, [esp + 0x110]
call fcn.004012a0
mov eax, dword [esp + 0x11c]
cmp eax, 8
mov eax, dword [esp + 0x108]
mov dword [esp + 0x118], esi
jae 0x43d18c
lea eax, [esp + 0x108]
xor ecx, ecx
mov word [eax + esi*2], cx
mov ecx, dword [esp + 0x13c]
cmp ecx, 0x100
ja 0x43d1ec
mov eax, dword [esp + 0x140]
cmp eax, 0x100
je 0x43d1ec
mov esi, ecx
jae 0x43d1cc
push ecx
push 0x100
lea ecx, [esp + 0x134]
call fcn.004012a0
mov eax, dword [esp + 0x140]
cmp eax, 8
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x13c], esi
jae 0x43d1e6
lea eax, [esp + 0x12c]
xor edx, edx
mov word [eax + esi*2], dx
mov ecx, dword [esp + 0x160]
cmp ecx, 0x100
ja 0x43d246
mov eax, dword [esp + 0x164]
cmp eax, 0x100
je 0x43d246
mov esi, ecx
jae 0x43d226
push ecx
push 0x100
lea ecx, [esp + 0x158]
call fcn.004012a0
mov eax, dword [esp + 0x164]
cmp eax, 8
mov eax, dword [esp + 0x150]
mov dword [esp + 0x160], esi
jae 0x43d240
lea eax, [esp + 0x150]
xor ecx, ecx
mov word [eax + esi*2], cx
lea edx, [esp + 0x5c]
push edx
mov ecx, ebp
call fcn.00406280
push edi
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
call fcn.0042c600
mov ecx, dword [eax]
cmp dword [ecx + 0x14], 8
jb 0x43d26b
mov esi, dword [ecx]
jmp 0x43d26d
mov esi, ecx
mov edx, dword [eax + 4]
lea ecx, [esp + 0x44]
lea esi, [esi + edx*2]
call fcn.004061d0
lea ecx, [esp + 0x5c]
call fcn.004061d0
movzx eax, word [esi]
cmp ax, bx
je 0x43d35c
cmp ax, 0x23
je 0x43d2b8
movzx eax, ax
push eax
lea ecx, [esp + 0x1c0]
call fcn.00414690
movzx eax, word [esi + 2]
add esi, 2
cmp ax, bx
jne 0x43d291
jmp 0x43d35c
cmp word [esi], bx
je 0x43d35c
movzx eax, word [esi + 2]
add esi, 2
cmp ax, bx
je 0x43d35c
cmp ax, 0x23
je 0x43d2f5
movzx eax, ax
push eax
lea ecx, [esp + 0x10c]
call fcn.00414690
movzx eax, word [esi + 2]
add esi, 2
cmp ax, bx
jne 0x43d2d1
jmp 0x43d35c
cmp word [esi], bx
je 0x43d35c
movzx eax, word [esi + 2]
add esi, 2
cmp ax, bx
je 0x43d35c
cmp ax, 0x23
je 0x43d32a
movzx eax, ax
push eax
lea ecx, [esp + 0x130]
call fcn.00414690
movzx eax, word [esi + 2]
add esi, 2
cmp ax, bx
jne 0x43d306
jmp 0x43d35c
cmp word [esi], bx
je 0x43d35c
movzx eax, word [esi + 2]
add esi, 2
cmp ax, bx
je 0x43d35c
jmp 0x43d340
movzx eax, ax
push eax
lea ecx, [esp + 0x154]
call fcn.00414690
movzx eax, word [esi + 2]
add esi, 2
cmp ax, bx
jne 0x43d340
test byte [esp + 0x250], 1
jne 0x43d405
lea ecx, [esp + 0x17]
call fcn.00432510
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x130]
push ecx
lea edx, [esp + 0x110]
push edx
mov byte [esp + 0x250], 5
call fcn.0043c8b0
add esp, 0xc
mov byte [esp + 0x244], 3
lea ecx, [esp + 0x17]
test al, al
je 0x43d3e8
call fcn.00432550
lea ecx, [esp + 0x150]
call fcn.00405eb0
lea ecx, [esp + 0x12c]
call fcn.00405eb0
lea ecx, [esp + 0x108]
call fcn.00405eb0
lea ecx, [esp + 0x1bc]
call fcn.00405eb0
or eax, 0xffffffff
jmp 0x43e781
call fcn.00432550
jmp 0x43d405
lea eax, [esp + 0x1bc]
cmp eax, ebp
je 0x43d405
push 0xffffffffffffffff
push ebx
push ebp
mov ecx, eax
call fcn.00402610
or eax, 0xffffffff
xor ebp, ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x58]
mov byte [esp + 0x244], 8
cmp eax, ebx
je 0x43d477
cmp byte [eax + 0x58], bl
je 0x43d477
lea ecx, [esp + 0x24]
call fcn.0043ca80
test al, al
je 0x43d742
lea ecx, [esp + 0x34]
call fcn.0043ca80
test al, al
je 0x43d742
lea ecx, [esp + 0x2c]
call fcn.0043ca80
test al, al
je 0x43d742
mov ebp, 1
mov dword [esp + 0x3c], ebp
push 0x44
lea eax, [esp + 0xc8]
push ebx
push eax
call fcn.00585730
add esp, 0xc
mov dword [esp + 0xc4], 0x44
cmp ebp, ebx
je 0x43d4e9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov esi, dword [sym.imp.KERNEL32.dll_SetHandleInformation]
push ebx
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x2c]
push 1
push ecx
mov dword [esp + 0xfc], 0x100
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], eax
call esi
mov edx, dword [esp + 0x34]
push ebx
push 1
push edx
call esi
mov eax, dword [esp + 0x2c]
push ebx
push 1
push eax
call esi
mov al, byte [esp + 0x250]
test al, 0x20
jne 0x43d4fc
cmp ebp, ebx
je 0x43d50e
test al, 2
jne 0x43d50e
or dword [esp + 0xf0], 1
xor ecx, ecx
mov word [esp + 0xf4], cx
mov esi, 4
test al, 4
je 0x43d51c
mov esi, 0x204
or esi, 0x4000000
call fcn.00420510
mov dword [esp + 0x1c], eax
mov byte [esp + 0x244], 0x12
call fcn.00420510
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x244], 0x13
mov byte [esp + 0x17], bl
cmp ecx, ebx
je 0x43d722
cmp dword [ecx + 0x10], ebx
setne byte [esp + 0x17]
cmp dword [ecx + 0x2c], ebx
je 0x43d722
mov edi, ecx
or esi, 0x400
lea edx, [esp + 0x5c]
add edi, 0x24
mov dword [esp + 0x20], esi
push edx
mov ecx, edi
mov esi, 1
call fcn.0043c350
mov ecx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
cmp eax, ebx
je 0x43d5b9
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x14]
mov eax, dword [eax]
lea esi, [esi + edx + 2]
cmp eax, ebx
jne 0x43d5b1
lea ecx, [esp + 0x44]
call fcn.0043c6c0
mov dword [esp + 0x44], eax
cmp eax, ebx
jne 0x43d598
push esi
lea ecx, [esp + 0x20]
call fcn.0041ce60
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov dword [esp + 0x5c], eax
xor eax, eax
cmp ecx, ebx
jbe 0x43d5ee
jmp 0x43d5e0
cmp dword [edx + eax*4], ebx
jne 0x43dc97
inc eax
cmp eax, ecx
jb 0x43d5e0
xor eax, eax
mov ebp, eax
mov dword [esp + 0x48], edi
cmp eax, ebx
je 0x43d70d
mov edi, edi
push 0x5fda94
lea esi, [ebp + 4]
lea ecx, [esp + 0x178]
push esi
push ecx
call fcn.00422f00
lea edx, [esi + 0x24]
push edx
push eax
lea eax, [esp + 0x1ac]
push eax
mov byte [esp + 0x25c], 0x14
call fcn.00422d10
mov ecx, dword [esp + 0x1a8]
push ecx
mov byte [esp + 0x260], 0x13
call fcn.005844d1
mov edi, 8
add esp, 0x1c
cmp dword [esp + 0x188], edi
jb 0x43d666
mov edx, dword [esp + 0x174]
push edx
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0x198]
cmp dword [esp + 0x1ac], edi
jae 0x43d67d
lea eax, [esp + 0x198]
mov edi, dword [esp + 0x1a8]
lea edi, [edi + edi + 2]
push edi
push eax
mov eax, dword [esp + 0x64]
push eax
call fcn.00583e00
mov ecx, dword [esp + 0x1c0]
add dword [esp + 0x68], edi
push ecx
call fcn.005844d1
add esp, 0x10
cmp dword [esp + 0x1ac], 8
jb 0x43d6c2
mov edx, dword [esp + 0x198]
push edx
call fcn.00584768
add esp, 4
mov eax, dword [ebp]
cmp eax, ebx
jne 0x43d703
cmp dword [esi + 0x14], 8
jb 0x43d6d1
mov esi, dword [esi]
push esi
call fcn.00447840
mov esi, dword [esp + 0x4c]
mov ecx, dword [esi + 4]
xor edx, edx
div ecx
add esp, 4
lea eax, [edx + 1]
cmp eax, ecx
jae 0x43d701
mov esi, dword [esi]
lea edx, [esi + eax*4]
cmp dword [edx], ebx
jne 0x43dc9f
inc eax
add edx, 4
cmp eax, ecx
jb 0x43d6f1
xor eax, eax
mov ebp, eax
cmp ebp, ebx
jne 0x43d600
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
xor eax, eax
mov word [ecx], ax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x43dce3
mov eax, dword [eax + 0x48]
cmp eax, 0x14
ja 0x43dca7
or esi, 0x40
jmp 0x43dce3
xor al, al
mov ebp, 0x5fcf00
mov edi, str.wxExecute
mov edi, edi
cmp al, bl
jne 0x43d7ac
lea ecx, [esp + 0x174]
push ebp
push ecx
call fcn.00423280
add esp, 8
mov esi, eax
or dword [esp + 0x18], 1
mov byte [esp + 0x244], 9
cmp dword [0x695aa8], ebx
je 0x43d790
call sub.KERNEL32.dll_GetCurrentThreadId
cmp eax, dword [0x695aa8]
je 0x43d790
call fcn.004443b0
jmp 0x43d795
mov al, byte [0x68a580]
cmp al, bl
je 0x43d7ac
push esi
call fcn.00445fa0
add esp, 4
mov byte [esp + 0x17], 1
cmp eax, 1
jae 0x43d7b0
mov byte [esp + 0x17], bl
test byte [esp + 0x18], 1
mov esi, 8
mov dword [esp + 0x244], esi
je 0x43d7f1
mov edx, dword [esp + 0x190]
and dword [esp + 0x18], 0xfffffffe
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x188], esi
jb 0x43d7f1
mov eax, dword [esp + 0x174]
push eax
call fcn.00584768
add esp, 4
cmp byte [esp + 0x17], bl
je 0x43db21
push str.Failed_to_redirect_the_child_process_IO
lea ecx, [esp + 0x178]
call fcn.00402bb0
mov eax, 7
xor ecx, ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ebx
mov word [esp + 0x8c], cx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
xor edx, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], dx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov byte [esp + 0x244], 0xc
call fcn.00425e70
cmp eax, ebx
je 0x43d885
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x17c]
push ecx
mov ecx, eax
call fcn.00429320
cmp eax, ebx
jne 0x43d895
lea edx, [esp + 0x174]
push edx
call fcn.004292f0
add esp, 4
mov esi, eax
call fcn.00420510
mov dword [esp + 0x44], eax
mov byte [esp + 0x244], 0xd
call fcn.00420510
mov dword [esp + 0x48], eax
mov byte [esp + 0x244], 0xe
call fcn.00420510
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
push str.wx.sys_error
lea ecx, [esp + 0x19c]
mov byte [esp + 0x248], 0xf
call fcn.00402bb0
mov byte [esp + 0x244], 0x10
mov dword [esp + 0x1e0], 1
mov dword [esp + 0x1e8], str....._srcmswutilsexc.cpp
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1ec], 0x2ba
mov dword [esp + 0x1f4], ebp
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1fc], ebx
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], ebx
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp + 0x208], eax
xor eax, eax
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x224], 7
mov dword [esp + 0x220], ebx
mov word [esp + 0x210], ax
mov dword [esp + 0x22c], ebx
mov dword [esp + 0x230], ebx
mov byte [esp + 0x244], 0x11
call sub.KERNEL32.dll_GetLastError
push eax
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x1e8]
call fcn.00429810
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.0041de00
push eax
push esi
call fcn.0040b680
mov edx, dword [esp + 0x234]
push edx
mov byte [esp + 0x250], 0x10
call fcn.005844d1
add esp, 0xc
cmp dword [esp + 0x224], 8
jb 0x43d9d9
mov eax, dword [esp + 0x210]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x210], cx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x224], 7
mov dword [esp + 0x220], ebx
mov esi, ecx
cmp ecx, ebx
je 0x43da10
call fcn.0040c030
push esi
call fcn.00584768
add esp, 4
mov edx, dword [esp + 0x1b4]
push edx
call fcn.005844d1
mov esi, 8
add esp, 4
cmp dword [esp + 0x1ac], esi
jb 0x43da3e
mov eax, dword [esp + 0x198]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov word [esp + 0x198], cx
lea ecx, [esp + 0x44]
mov dword [esp + 0x1ac], 7
mov dword [esp + 0x1a8], ebx
mov byte [esp + 0x244], 0xc
call fcn.004020c0
mov edx, dword [esp + 0x84]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x7c], esi
jb 0x43da8e
mov eax, dword [esp + 0x68]
push eax
call fcn.00584768
add esp, 4
mov edx, dword [esp + 0xa8]
xor ecx, ecx
push edx
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], ebx
mov word [esp + 0x6c], cx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xa0], esi
jb 0x43dacd
mov eax, dword [esp + 0x8c]
push eax
call fcn.00584768
add esp, 4
mov edx, dword [esp + 0x190]
xor ecx, ecx
push edx
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], ebx
mov word [esp + 0x90], cx
mov byte [esp + 0x248], 8
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x188], esi
jb 0x43db1a
mov eax, dword [esp + 0x174]
push eax
call fcn.00584768
add esp, 4
mov al, 1
jmp 0x43d750
mov al, byte [esp + 0x250]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
and al, 1
movsx edi, al
neg edi
sbb edi, edi
xor esi, esi
lea esp, [esp]
mov eax, dword [esp + esi*4 + 0x2c]
cmp eax, 0xffffffff
je 0x43db54
push eax
call ebp
mov dword [esp + esi*4 + 0x2c], 0xffffffff
inc esi
cmp esi, 2
jb 0x43db40
xor esi, esi
lea esp, [esp]
mov eax, dword [esp + esi*4 + 0x34]
cmp eax, 0xffffffff
je 0x43db74
push eax
call ebp
mov dword [esp + esi*4 + 0x34], 0xffffffff
inc esi
cmp esi, 2
jb 0x43db60
xor esi, esi
lea esp, [esp]
mov eax, dword [esp + esi*4 + 0x24]
cmp eax, 0xffffffff
je 0x43db94
push eax
call ebp
mov dword [esp + esi*4 + 0x24], 0xffffffff
inc esi
cmp esi, 2
jb 0x43db80
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.005844d1
mov esi, 8
add esp, 4
cmp dword [esp + 0x164], esi
jb 0x43dbc8
mov edx, dword [esp + 0x150]
push edx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x148]
xor eax, eax
mov ebp, 7
push ecx
mov dword [esp + 0x168], ebp
mov dword [esp + 0x164], ebx
mov word [esp + 0x154], ax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x140], esi
jb 0x43dc0e
mov edx, dword [esp + 0x12c]
push edx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x124]
xor eax, eax
push ecx
mov dword [esp + 0x144], ebp
mov dword [esp + 0x140], ebx
mov word [esp + 0x130], ax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x11c], esi
jb 0x43dc4f
mov edx, dword [esp + 0x108]
push edx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x1d8]
xor eax, eax
push ecx
mov dword [esp + 0x120], ebp
mov dword [esp + 0x11c], ebx
mov word [esp + 0x10c], ax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x1d0], esi
jb 0x43dc90
mov edx, dword [esp + 0x1bc]
push edx
call fcn.00584768
add esp, 4
mov eax, edi
jmp 0x43e781
mov eax, dword [edx + eax*4]
jmp 0x43d5f0
mov eax, dword [esi + eax*4]
jmp 0x43d703
cmp eax, 0x28
ja 0x43dcb4
or esi, 0x4000
jmp 0x43dce3
cmp eax, 0x3c
jbe 0x43dce0
cmp eax, 0x50
ja 0x43dcc6
or esi, 0x8000
jmp 0x43dce3
cmp eax, 0x63
ja 0x43dcd3
or esi, 0x80
jmp 0x43dce3
cmp eax, 0x64
ja 0x43dce0
or esi, 0x100
jmp 0x43dce3
or esi, 0x20
cmp byte [esp + 0x17], bl
je 0x43dcf7
cmp dword [ecx + 0x14], 8
jb 0x43dcf3
mov eax, dword [ecx]
jmp 0x43dcf9
mov eax, ecx
jmp 0x43dcf9
xor eax, eax
cmp dword [esp + 0x1d0], 8
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
mov ecx, dword [esp + 0x1bc]
jae 0x43dd17
lea ecx, [esp + 0x1bc]
lea edi, [esp + 0xb0]
push edi
lea edi, [esp + 0xc8]
push edi
push eax
push edx
push esi
push ebp
push ebx
push ebx
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
setne byte [esp + 0x17]
cmp ebp, ebx
je 0x43dd6c
mov eax, dword [esp + 0x24]
or edi, 0xffffffff
push eax
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x38]
push eax
mov dword [esp + 0x3c], edi
call esi
mov eax, dword [esp + 0x30]
push eax
mov dword [esp + 0x34], edi
call esi
jmp 0x43dd6f
or edi, 0xffffffff
cmp byte [esp + 0x17], bl
jne 0x43e346
cmp ebp, ebx
je 0x43dd9e
mov eax, dword [esp + 0x28]
push eax
mov dword [esp + 0x2c], edi
call esi
mov eax, dword [esp + 0x34]
push eax
mov dword [esp + 0x38], edi
call esi
mov eax, dword [esp + 0x2c]
push eax
mov dword [esp + 0x30], edi
call esi
mov ebp, 8
xor al, al
lea edi, [ebp - 1]
cmp al, bl
jne 0x43de08
lea eax, [esp + 0x174]
push 0x5fcf00
push eax
call fcn.00423280
add esp, 8
mov esi, eax
or dword [esp + 0x18], 2
mov byte [esp + 0x244], 0x15
cmp dword [0x695aa8], ebx
je 0x43ddec
call sub.KERNEL32.dll_GetCurrentThreadId
cmp eax, dword [0x695aa8]
je 0x43ddec
call fcn.004443b0
jmp 0x43ddf1
mov al, byte [0x68a580]
cmp al, bl
je 0x43de08
push esi
call fcn.00445fa0
add esp, 4
mov byte [esp + 0x17], 1
cmp eax, 1
jae 0x43de0c
mov byte [esp + 0x17], bl
test byte [esp + 0x18], 2
mov dword [esp + 0x244], 0x13
je 0x43de4c
mov ecx, dword [esp + 0x190]
and dword [esp + 0x18], 0xfffffffd
push ecx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x188], ebp
jb 0x43de4c
mov edx, dword [esp + 0x174]
push edx
call fcn.00584768
add esp, 4
cmp byte [esp + 0x17], bl
je 0x43e19b
push str.Execution_of_command__s_failed
lea ecx, [esp + 0x178]
call fcn.00402bb0
xor eax, eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], ax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
xor ecx, ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], ebx
mov word [esp + 0x8c], cx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov byte [esp + 0x244], 0x18
call fcn.00425e70
cmp eax, ebx
je 0x43dedb
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x17c]
push edx
mov ecx, eax
call fcn.00429320
cmp eax, ebx
jne 0x43deeb
lea eax, [esp + 0x174]
push eax
call fcn.004292f0
add esp, 4
mov esi, eax
call fcn.00420510
mov dword [esp + 0x44], eax
mov byte [esp + 0x244], 0x19
call fcn.00420510
mov dword [esp + 0x48], eax
mov byte [esp + 0x244], 0x1a
call fcn.00420510
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
push str.wx.sys_error
lea ecx, [esp + 0x19c]
mov byte [esp + 0x248], 0x1b
call fcn.00402bb0
sub esp, 0x24
mov esi, esp
mov dword [esp + 0x44], esp
push 0xffffffffffffffff
xor ecx, ecx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
push ebx
lea edx, [esp + 0x1e8]
mov word [esi], cx
push edx
mov ecx, esi
mov byte [esp + 0x274], 0x1c
call fcn.00402610
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov byte [esp + 0x268], 0x1d
mov dword [esp + 0x204], 1
mov dword [esp + 0x20c], str....._srcmswutilsexc.cpp
mov dword [esp + 0x214], str.wxExecute
mov dword [esp + 0x210], 0x369
mov dword [esp + 0x218], 0x5fcf00
mov dword [esp + 0x21c], ebx
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], ebx
mov dword [esp + 0x228], ebx
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp + 0x22c], eax
xor eax, eax
mov dword [esp + 0x230], ebx
mov dword [esp + 0x248], edi
mov dword [esp + 0x244], ebx
mov word [esp + 0x234], ax
mov dword [esp + 0x250], ebx
mov dword [esp + 0x254], ebx
mov byte [esp + 0x268], 0x1e
lea ecx, [esp + 0x68]
push ecx
call sub.KERNEL32.dll_GetLastError
push eax
lea edx, [esp + 0x1c4]
push edx
lea ecx, [esp + 0x210]
call fcn.00429810
mov ecx, eax
mov byte [esp + 0x26c], 0x1f
call fcn.00428340
mov eax, dword [esp + 0x22c]
push eax
mov byte [esp + 0x248], 0x1c
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x224], ebp
jb 0x43e068
mov ecx, dword [esp + 0x210]
push ecx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x20c]
xor edx, edx
mov dword [esp + 0x224], edi
mov dword [esp + 0x220], ebx
mov word [esp + 0x210], dx
mov esi, ecx
cmp ecx, ebx
je 0x43e09b
call fcn.0040c030
push esi
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0x1b4]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x1ac], ebp
jb 0x43e0c4
mov ecx, dword [esp + 0x198]
push ecx
call fcn.00584768
add esp, 4
xor edx, edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1a8], ebx
mov word [esp + 0x198], dx
mov byte [esp + 0x244], 0x18
call fcn.004020c0
mov eax, dword [esp + 0xa8]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xa0], ebp
jb 0x43e116
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0x84]
xor edx, edx
push eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov word [esp + 0x90], dx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x7c], ebp
jb 0x43e151
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0x190]
xor edx, edx
push eax
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], ebx
mov word [esp + 0x6c], dx
mov byte [esp + 0x248], 0x13
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x188], ebp
jb 0x43e194
mov ecx, dword [esp + 0x174]
push ecx
call fcn.00584768
add esp, 4
mov al, 1
jmp 0x43dda8
mov al, byte [esp + 0x250]
and al, 1
movsx ebp, al
neg ebp
sbb ebp, ebp
mov byte [esp + 0x244], 8
call fcn.00420510
mov esi, dword [esp + 0x1c]
cmp esi, eax
je 0x43e1e9
mov edx, 0xffff
add word [esi + 8], dx
jne 0x43e1e4
cmp byte [esi + 0xa], bl
je 0x43e1db
mov eax, dword [esi]
push eax
call fcn.005844d1
add esp, 4
push esi
call fcn.00584768
add esp, 4
call fcn.00420510
xor esi, esi
jmp 0x43e1f0
mov eax, dword [esp + esi*4 + 0x2c]
cmp eax, 0xffffffff
je 0x43e208
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + esi*4 + 0x2c], 0xffffffff
inc esi
cmp esi, 2
jb 0x43e1f0
xor esi, esi
mov eax, dword [esp + esi*4 + 0x34]
cmp eax, 0xffffffff
je 0x43e228
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + esi*4 + 0x34], 0xffffffff
inc esi
cmp esi, 2
jb 0x43e210
xor esi, esi
mov eax, dword [esp + esi*4 + 0x24]
cmp eax, 0xffffffff
je 0x43e248
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + esi*4 + 0x24], 0xffffffff
inc esi
cmp esi, 2
jb 0x43e230
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.005844d1
mov esi, 8
add esp, 4
cmp dword [esp + 0x164], esi
jb 0x43e27c
mov edx, dword [esp + 0x150]
push edx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x148]
xor eax, eax
push ecx
mov dword [esp + 0x168], edi
mov dword [esp + 0x164], ebx
mov word [esp + 0x154], ax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x140], esi
jb 0x43e2bd
mov edx, dword [esp + 0x12c]
push edx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x124]
xor eax, eax
push ecx
mov dword [esp + 0x144], edi
mov dword [esp + 0x140], ebx
mov word [esp + 0x130], ax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x11c], esi
jb 0x43e2fe
mov edx, dword [esp + 0x108]
push edx
call fcn.00584768
add esp, 4
mov ecx, dword [esp + 0x1d8]
xor eax, eax
push ecx
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebx
mov word [esp + 0x10c], ax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x1d0], esi
jb 0x43e33f
mov edx, dword [esp + 0x1bc]
push edx
call fcn.00584768
add esp, 4
mov eax, ebp
jmp 0x43e781
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x244], 0x21
cmp ebp, ebx
je 0x43e44c
push 0x20
call fcn.00584773
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
mov byte [esp + 0x244], 0x22
cmp esi, ebx
je 0x43e3ad
mov edi, dword [esp + 0x34]
mov ecx, esi
mov dword [esp + 0x34], 0xffffffff
call fcn.00474cf0
mov dword [esi + 0x1c], edi
mov dword [esi], vtable.wxPipeInputStream.0
mov ebp, esi
or edi, 0xffffffff
jmp 0x43e3af
xor ebp, ebp
push 0x20
mov byte [esp + 0x248], 0x21
call fcn.00584773
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
mov byte [esp + 0x244], 0x23
cmp esi, ebx
je 0x43e3f4
mov edi, dword [esp + 0x2c]
mov ecx, esi
mov dword [esp + 0x2c], 0xffffffff
call fcn.00474cf0
mov dword [esi + 0x1c], edi
mov dword [esi], vtable.wxPipeInputStream.0
or edi, 0xffffffff
jmp 0x43e3f6
xor esi, esi
push 0x14
mov byte [esp + 0x248], 0x21
call fcn.00584773
add esp, 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x244], 0x24
cmp eax, ebx
je 0x43e42a
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, eax
mov dword [esp + 0x2c], edi
call fcn.0043c470
jmp 0x43e42c
xor eax, eax
mov edi, dword [esp + 0x58]
push esi
push eax
push ebp
mov ecx, edi
mov byte [esp + 0x250], 0x21
call fcn.00479580
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x44], esi
jmp 0x43e450
mov edi, dword [esp + 0x58]
mov eax, dword [str._wxExecute_Internal_Class]
push 0x43c5e0
push eax
push 0x695a94
call fcn.004325b0
mov ebp, eax
push 0x1c
mov dword [esp + 0x30], ebp
call fcn.00584773
add esp, 0x10
cmp eax, ebx
je 0x43e480
mov dword [eax + 8], ebx
mov esi, eax
jmp 0x43e482
xor esi, esi
mov ecx, dword [esp + 0xb0]
mov al, byte [esp + 0x250]
mov dword [esi + 4], ecx
mov edx, dword [esp + 0xb8]
and al, 1
mov dword [esi + 0xc], edx
mov dword [esi], ebp
mov byte [esi + 0x18], al
cmp edi, ebx
je 0x43e4b2
mov ecx, dword [esp + 0xb8]
mov dword [edi + 0x44], ecx
mov edi, dword [esp + 0x250]
and edi, 1
lea eax, [esp + 0xc0]
push eax
push ebx
mov edx, edi
neg edx
push esi
sbb edx, edx
push 0x43c540
not edx
and edx, dword [esp + 0x68]
push ebx
push ebx
mov dword [esi + 0x10], edx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [esp + 0xb4]
mov ebp, eax
push ecx
mov dword [esp + 0x40], ebp
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov edx, dword [esp + 0xb4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp ebp, ebx
jne 0x43e594
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [esi + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.00584768
add esp, 4
mov esi, dword [esp + 0xb8]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 8
call fcn.004138c0
lea ecx, [esp + 0x2c]
call fcn.0043c230
lea ecx, [esp + 0x34]
call fcn.0043c230
lea ecx, [esp + 0x24]
call fcn.0043c230
lea ecx, [esp + 0x150]
call fcn.00405eb0
lea ecx, [esp + 0x12c]
call fcn.00405eb0
lea ecx, [esp + 0x108]
call fcn.00405eb0
lea ecx, [esp + 0x1bc]
call fcn.00405eb0
mov eax, esi
jmp 0x43e781
lea edx, [esp + 0x3c]
push edx
mov ecx, 0x695a9c
call fcn.0043c4e0
mov dword [esi + 8], ebp
cmp dword [esp + 0x118], ebx
je 0x43e5e6
mov eax, dword [esp + 0xb0]
push 0x2710
push eax
call dword [sym.imp.USER32.dll_WaitForInputIdle]
test eax, eax
jne 0x43e5e6
lea ecx, [esp + 0x150]
push ecx
lea edx, [esp + 0x130]
push edx
lea eax, [esp + 0x110]
push eax
call fcn.0043c8b0
add esp, 0xc
cmp edi, ebx
je 0x43e52a
call fcn.00442500
mov dword [esp + 0x40], eax
cmp eax, ebx
je 0x43e72c
mov ecx, dword [esp + 0x250]
and ecx, 8
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x20], ecx
jne 0x43e620
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x54]
call eax
mov dword [esp + 0x3c], eax
cmp byte [esi + 0x18], bl
je 0x43e67e
mov edi, dword [esp + 0x250]
mov ebp, dword [sym.imp.USER32.dll_PeekMessageW]
and edi, 0x10
lea ecx, [esp + 0x5c]
call fcn.0043c1a0
test al, al
jne 0x43e657
lea ecx, [esp + 0x44]
call fcn.0043c1a0
test al, al
jne 0x43e657
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esi]
push 1
push ebx
push ebx
push ecx
lea edx, [esp + 0x78]
push edx
call ebp
cmp edi, ebx
jne 0x43e679
mov ecx, dword [0x695bd0]
cmp ecx, ebx
je 0x43e679
push ebx
call fcn.004631b0
cmp byte [esi + 0x18], bl
jne 0x43e635
cmp dword [esp + 0x20], ebx
jne 0x43e694
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x58]
push edx
call eax
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.00584768
add esp, 4
lea ecx, [esp + 0x44]
mov byte [esp + 0x244], 0x20
call fcn.0043c200
lea ecx, [esp + 0x5c]
mov byte [esp + 0x244], 0x13
call fcn.0043c200
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 8
call fcn.004138c0
lea ecx, [esp + 0x2c]
call fcn.0043c230
lea ecx, [esp + 0x34]
call fcn.0043c230
lea ecx, [esp + 0x24]
call fcn.0043c230
lea ecx, [esp + 0x150]
call fcn.00405eb0
lea ecx, [esp + 0x12c]
call fcn.00405eb0
lea ecx, [esp + 0x108]
call fcn.00405eb0
lea ecx, [esp + 0x1bc]
call fcn.00405eb0
mov eax, edi
jmp 0x43e781
lea ecx, [esp + 0x44]
mov byte [esp + 0x244], 0x20
call fcn.0043c200
lea ecx, [esp + 0x5c]
mov byte [esp + 0x244], 0x13
call fcn.0043c200
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 8
call fcn.004138c0
lea ecx, [esp + 0x2c]
call fcn.0043c230
lea ecx, [esp + 0x34]
call fcn.0043c230
lea ecx, [esp + 0x24]
call fcn.0043c230
jmp 0x43d3b0
xor eax, eax
mov ecx, dword [esp + 0x23c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x224]
xor ecx, esp
call fcn.00585b7b
add esp, 0x234
ret