Function at 0x436b60
Capabilities:
Terminate process

Disassembly:
sub esp, 0x63c
mov eax, dword [0x562940]
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 0x436bca
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.00436970
add esp, 0x10
pop esi
mov ecx, dword [esp + 0x638]
xor ecx, dword [esp + 0x63c]
add esp, 0x63c
jmp fcn.00523319
mov eax, dword [esi + 0xc]
test eax, eax
je 0x436c0a
mov ecx, dword [esp + 0x644]
push 0x80
lea eax, [esp + 0x10]
push eax
push esi
push ecx
call fcn.004360b0
add esp, 0x10
test eax, eax
jne 0x436c0a
pop esi
mov ecx, dword [esp + 0x638]
xor ecx, dword [esp + 0x63c]
add esp, 0x63c
jmp fcn.00523319
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 0x436d98
cmp dword [ebx + 0x400], 4
jne 0x436ced
mov eax, ebx
mov ecx, esi
call fcn.00436700
test eax, eax
jl 0x436ced
mov ebp, dword [esp + eax*4 + 0x18]
test ebp, ebp
je 0x436d7f
lea esp, [esp]
push 0x434
call fcn.0051b1e7
mov esi, eax
add esp, 4
test esi, esi
je 0x436e41
push 0x434
push 0
push esi
call fcn.0042b1c0
lea eax, [esi + 4]
add esp, 0xc
test eax, eax
mov dword [esi], 0x12345678
jne 0x436c96
push str.EXE_ERR_OUT_OF_MEMORY
push eax
call fcn.0042e650
add esp, 8
xor eax, eax
jmp 0x436cb8
mov ecx, 0x10c
mov esi, ebp
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x14ef6c4]
inc ecx
mov dword [eax + 0x428], 0
mov dword [0x14ef6c4], ecx
mov ecx, dword [esp + 0x10]
test ecx, ecx
mov dword [eax + 0x428], 0
je 0x436cd2
mov dword [ecx + 0x428], eax
jmp 0x436cd6
mov dword [esp + 0x14], eax
mov ebp, dword [ebp + 0x428]
test ebp, ebp
mov dword [esp + 0x10], eax
jne 0x436c50
jmp 0x436d7f
cmp byte [ebx], 0x23
jne 0x436d54
mov al, byte [ebx + 1]
test al, al
jne 0x436d54
mov esi, dword [ebx + 0x428]
test esi, esi
je 0x436d3d
mov ecx, dword [esp + 0x658]
mov eax, esi
call fcn.00436700
test eax, eax
jl 0x436d3d
mov eax, dword [esp + eax*4 + 0x18]
lea edx, [esp + 0x218]
push edx
mov ebx, esi
call fcn.00436430
add esp, 4
test eax, eax
je 0x436e73
lea eax, [esp + 0x218]
push eax
jmp 0x436d55
mov ecx, dword [esp + 0x650]
push str.stringizing_operator_without_define_parameter
push ecx
call fcn.00435ce0
add esp, 8
jmp 0x436d7f
push ebx
call fcn.00435e90
mov ecx, dword [esp + 0x14]
add esp, 4
test ecx, ecx
mov dword [eax + 0x428], 0
je 0x436d77
mov dword [ecx + 0x428], eax
jmp 0x436d7b
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov ebx, dword [ebx + 0x428]
test ebx, ebx
mov esi, dword [esp + 0x658]
jne 0x436c22
mov edi, dword [esp + 0x14]
test edi, edi
je 0x436ea4
mov eax, dword [edi + 0x428]
test eax, eax
je 0x436e8f
cmp byte [eax], 0x23
jne 0x436e8f
cmp byte [eax + 1], 0x23
jne 0x436e8f
mov esi, dword [eax + 0x428]
test esi, esi
je 0x436e8f
mov eax, esi
mov ecx, edi
call fcn.004364e0
test eax, eax
je 0x436f31
mov eax, dword [edi + 0x428]
mov ecx, dword [eax - 4]
sub eax, 4
cmp ecx, 0x12345678
jne 0x436dfd
push eax
call fcn.0051ada8
add esp, 4
mov eax, dword [esi + 0x428]
mov ecx, dword [0x14ef6c4]
mov dword [edi + 0x428], eax
mov eax, dword [esp + 0x10]
dec ecx
cmp esi, eax
mov dword [0x14ef6c4], ecx
jne 0x436e22
mov dword [esp + 0x10], edi
mov ecx, dword [esi - 4]
cmp ecx, 0x12345678
lea eax, [esi - 4]
jne 0x436e39
push eax
call fcn.0051ada8
add esp, 4
dec dword [0x14ef6c4]
jmp 0x436e91
call fcn.00451300
push 0x10
push str.WIN_OUT_OF_MEM_TITLE
call fcn.00450c30
add esp, 4
push eax
push str.WIN_OUT_OF_MEM_BODY
call fcn.00450c30
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.0051c8f0
mov edx, dword [esp + 0x650]
push str.cant_stringize_tokens
push edx
call fcn.00435c70
add esp, 8
xor eax, eax
jmp 0x436f14
mov edi, eax
test edi, edi
jne 0x436da0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x658]
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 0x436f0f
mov eax, dword [esp + edi*4 + 0x18]
test eax, eax
je 0x436f00
jmp 0x436ed0
mov esi, dword [eax + 0x428]
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
cmp ecx, 0x12345678
jne 0x436eed
push eax
call fcn.0051ada8
add esp, 4
mov edx, dword [0x14ef6c4]
dec edx
test esi, esi
mov dword [0x14ef6c4], edx
mov eax, esi
jne 0x436ed0
mov edx, dword [esp + 0x658]
mov eax, dword [edx + 0xc]
inc edi
cmp edi, eax
jl 0x436ec3
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.00523319
mov ecx, dword [esp + 0x650]
push esi
push edi
push str.cant_merge__s_with__s
push ecx
call fcn.00435c70
add esp, 0x10
xor eax, eax
jmp 0x436f14