Function at 0x43e6a0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x63c
mov eax, dword [0x570930]
xor eax, dword [esp + 0x63c]
push esi
mov esi, dword [esp + 0x64c]
mov dword [esp + 0x63c], eax
mov eax, dword [esi + 8]
test eax, eax
je 0x43e70a
mov eax, dword [esp + 0x654]
mov ecx, dword [esp + 0x650]
mov edx, dword [esp + 0x644]
push eax
mov eax, dword [esp + 0x64c]
push ecx
push esi
push edx
call fcn.0043e4b0
add esp, 0x10
pop esi
mov ecx, dword [esp + 0x638]
xor ecx, dword [esp + 0x63c]
add esp, 0x63c
jmp fcn.0052e7b9
mov eax, dword [esi + 0xc]
test eax, eax
je 0x43e74a
mov ecx, dword [esp + 0x644]
push 0x80
lea eax, [esp + 0x10]
push eax
push esi
push ecx
call fcn.0043dbf0
add esp, 0x10
test eax, eax
jne 0x43e74a
pop esi
mov ecx, dword [esp + 0x638]
xor ecx, dword [esp + 0x63c]
add esp, 0x63c
jmp fcn.0052e7b9
push ebx
mov ebx, dword [esi + 0x14]
push ebp
push edi
xor edi, edi
test ebx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
je 0x43e8d8
cmp dword [ebx + 0x400], 4
jne 0x43e82d
mov eax, ebx
mov ecx, esi
call fcn.0043e240
test eax, eax
jl 0x43e82d
mov ebp, dword [esp + eax*4 + 0x18]
test ebp, ebp
je 0x43e8bf
lea esp, [esp]
push 0x434
call fcn.005268b7
mov esi, eax
add esp, 4
test esi, esi
je 0x43e981
push 0x434
push 0
push esi
call fcn.00432670
lea eax, [esi + 4]
add esp, 0xc
test eax, eax
mov dword [esi], 0x12345678
jne 0x43e7d6
push str.EXE_ERR_OUT_OF_MEMORY
push eax
call fcn.00435ad0
add esp, 8
xor eax, eax
jmp 0x43e7f8
mov ecx, 0x10c
mov esi, ebp
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x1646544]
inc ecx
mov dword [eax + 0x428], 0
mov dword [0x1646544], ecx
mov ecx, dword [esp + 0x10]
test ecx, ecx
mov dword [eax + 0x428], 0
je 0x43e812
mov dword [ecx + 0x428], eax
jmp 0x43e816
mov dword [esp + 0x14], eax
mov ebp, dword [ebp + 0x428]
test ebp, ebp
mov dword [esp + 0x10], eax
jne 0x43e790
jmp 0x43e8bf
cmp byte [ebx], 0x23
jne 0x43e894
mov al, byte [ebx + 1]
test al, al
jne 0x43e894
mov esi, dword [ebx + 0x428]
test esi, esi
je 0x43e87d
mov ecx, dword [esp + 0x658]
mov eax, esi
call fcn.0043e240
test eax, eax
jl 0x43e87d
mov eax, dword [esp + eax*4 + 0x18]
lea edx, [esp + 0x218]
push edx
mov ebx, esi
call fcn.0043df70
add esp, 4
test eax, eax
je 0x43e9b3
lea eax, [esp + 0x218]
push eax
jmp 0x43e895
mov ecx, dword [esp + 0x650]
push str.stringizing_operator_without_define_parameter
push ecx
call fcn.0043d820
add esp, 8
jmp 0x43e8bf
push ebx
call fcn.0043d9d0
mov ecx, dword [esp + 0x14]
add esp, 4
test ecx, ecx
mov dword [eax + 0x428], 0
je 0x43e8b7
mov dword [ecx + 0x428], eax
jmp 0x43e8bb
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov ebx, dword [ebx + 0x428]
test ebx, ebx
mov esi, dword [esp + 0x658]
jne 0x43e762
mov edi, dword [esp + 0x14]
test edi, edi
je 0x43e9e4
mov eax, dword [edi + 0x428]
test eax, eax
je 0x43e9cf
cmp byte [eax], 0x23
jne 0x43e9cf
cmp byte [eax + 1], 0x23
jne 0x43e9cf
mov esi, dword [eax + 0x428]
test esi, esi
je 0x43e9cf
mov eax, esi
mov ecx, edi
call fcn.0043e020
test eax, eax
je 0x43ea71
mov eax, dword [edi + 0x428]
mov ecx, dword [eax - 4]
sub eax, 4
cmp ecx, 0x12345678
jne 0x43e93d
push eax
call fcn.00526479
add esp, 4
mov eax, dword [esi + 0x428]
mov ecx, dword [0x1646544]
mov dword [edi + 0x428], eax
mov eax, dword [esp + 0x10]
dec ecx
cmp esi, eax
mov dword [0x1646544], ecx
jne 0x43e962
mov dword [esp + 0x10], edi
mov ecx, dword [esi - 4]
cmp ecx, 0x12345678
lea eax, [esi - 4]
jne 0x43e979
push eax
call fcn.00526479
add esp, 4
dec dword [0x1646544]
jmp 0x43e9d1
call fcn.00462b20
push 0x10
push str.WIN_OUT_OF_MEM_TITLE
call fcn.00462450
add esp, 4
push eax
push str.WIN_OUT_OF_MEM_BODY
call fcn.00462450
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.00527e27
mov edx, dword [esp + 0x650]
push str.cant_stringize_tokens
push edx
call fcn.0043d7b0
add esp, 8
xor eax, eax
jmp 0x43ea54
mov edi, eax
test edi, edi
jne 0x43e8e0
mov esi, dword [esp + 0x658]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x65c]
mov eax, dword [esp + 0x660]
mov ecx, dword [esp + 0x10]
mov dword [edx], edi
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
xor edi, edi
test eax, eax
jle 0x43ea4f
mov eax, dword [esp + edi*4 + 0x18]
test eax, eax
je 0x43ea40
jmp 0x43ea10
mov esi, dword [eax + 0x428]
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
cmp ecx, 0x12345678
jne 0x43ea2d
push eax
call fcn.00526479
add esp, 4
mov edx, dword [0x1646544]
dec edx
test esi, esi
mov dword [0x1646544], edx
mov eax, esi
jne 0x43ea10
mov edx, dword [esp + 0x658]
mov eax, dword [edx + 0xc]
inc edi
cmp edi, eax
jl 0x43ea03
mov eax, 1
mov ecx, dword [esp + 0x648]
xor ecx, dword [esp + 0x64c]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x63c
jmp fcn.0052e7b9
mov ecx, dword [esp + 0x650]
push esi
push edi
push str.cant_merge__s_with__s
push ecx
call fcn.0043d7b0
add esp, 0x10
xor eax, eax
jmp 0x43ea54