Function at 0x428080
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x48f8d6
mov eax, dword fs:[0]
push eax
sub esp, 0x358
mov eax, dword [str.CombineRgn]
xor eax, esp
mov dword [esp + 0x350], eax
push ebx
push esi
push edi
mov eax, dword [str.CombineRgn]
xor eax, esp
push eax
lea eax, [esp + 0x368]
mov dword fs:[0], eax
mov esi, ecx
push 7
lea ecx, [esp + 0x88]
mov dword [esp + 0x14], esi
call fcn.004341e0
push 1
lea ecx, [esp + 0x168]
mov dword [esp + 0x374], 0
call fcn.004341e0
mov eax, dword [esi + 0x24]
push eax
lea ecx, [esp + 0x28]
call fcn.00434340
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x168]
mov byte [esp + 0x374], 2
call fcn.00434830
lea ecx, [esp + 0x24]
mov byte [esp + 0x370], 1
call fcn.00434720
push 6
lea ecx, [esp + 0x138]
call fcn.004341e0
mov byte [esp + 0x370], 3
mov eax, dword [esi + 0x20]
mov edi, dword [eax]
mov esi, dword [esi + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0xc]
test esi, esi
je 0x428154
cmp esi, eax
je 0x428159
call fcn.0046f8fc
cmp edi, ebx
je 0x428755
push 7
lea ecx, [esp + 0x18]
call fcn.004341e0
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x374], 4
call fcn.004341e0
test esi, esi
jne 0x428712
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x428198
call fcn.0046f8fc
mov ecx, dword [edi + 0x44]
push ecx
lea ecx, [esp + 0x198]
call fcn.00434340
lea edx, [esp + 0x194]
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x374], 6
call fcn.00434830
lea ecx, [esp + 0x194]
mov byte [esp + 0x370], 5
call fcn.00434720
push 4
lea ecx, [esp + 0xa0]
call fcn.004341e0
mov byte [esp + 0x370], 7
test esi, esi
jne 0x428719
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x428204
call fcn.0046f8fc
lea eax, [edi + 0x24]
push eax
lea ecx, [esp + 0x1b8]
call fcn.004343c0
lea ecx, [esp + 0x1b4]
push ecx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x374], 8
call fcn.00434830
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x370], 7
call fcn.00434720
push 1
lea ecx, [esp + 0x58]
call fcn.004341e0
test esi, esi
jne 0x428720
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x428268
call fcn.0046f8fc
movzx edx, word [edi + 0x40]
push edx
lea ecx, [esp + 0x1c8]
call fcn.00434300
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x374], 0xa
call fcn.00434830
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x370], 9
call fcn.00434720
push 4
lea ecx, [esp + 0x78]
call fcn.004341e0
mov byte [esp + 0x370], 0xb
test esi, esi
jne 0x428727
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4282d2
call fcn.0046f8fc
mov ecx, dword [edi + 0x64]
add ecx, 4
push ecx
lea ecx, [esp + 0x1a8]
call fcn.004343c0
lea edx, [esp + 0x1a4]
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x374], 0xc
call fcn.00434830
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x370], 0xb
call fcn.00434720
push 4
lea ecx, [esp + 0x68]
call fcn.004341e0
mov byte [esp + 0x370], 0xd
test esi, esi
jne 0x42872e
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x42833e
call fcn.0046f8fc
mov eax, dword [edi + 0x64]
add eax, 0x48
push eax
lea ecx, [esp + 0xd0]
call fcn.004343c0
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x374], 0xe
call fcn.00434830
lea ecx, [esp + 0xcc]
mov byte [esp + 0x370], 0xd
call fcn.00434720
push 4
lea ecx, [esp + 0x188]
call fcn.004341e0
mov byte [esp + 0x370], 0xf
test esi, esi
jne 0x428735
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4283ad
call fcn.0046f8fc
mov edx, dword [edi + 0x64]
sub edx, 0xffffff80
push edx
lea ecx, [esp + 0xf0]
call fcn.004343c0
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x188]
mov byte [esp + 0x374], 0x10
call fcn.00434830
lea ecx, [esp + 0xec]
mov byte [esp + 0x370], 0xf
call fcn.00434720
push 2
lea ecx, [esp + 0x148]
call fcn.004341e0
test esi, esi
jne 0x42873c
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x428417
call fcn.0046f8fc
mov ecx, dword [edi + 0x64]
mov edx, dword [ecx + 0xf4]
push edx
lea ecx, [esp + 0xe0]
call fcn.00434340
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x148]
mov byte [esp + 0x374], 0x12
call fcn.00434830
lea ecx, [esp + 0xdc]
mov byte [esp + 0x370], 0x11
call fcn.00434720
push 2
lea ecx, [esp + 0x128]
call fcn.004341e0
test esi, esi
jne 0x428743
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x428484
call fcn.0046f8fc
mov ecx, dword [edi + 0x64]
mov eax, dword [ecx + 0xc08]
push eax
lea ecx, [esp + 0xb0]
call fcn.00434340
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x374], 0x14
call fcn.00434830
lea ecx, [esp + 0xac]
mov byte [esp + 0x370], 0x13
call fcn.00434720
push 4
lea ecx, [esp + 0x110]
call fcn.004341e0
mov byte [esp + 0x370], 0x15
test esi, esi
jne 0x42874a
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4284f9
call fcn.0046f8fc
mov eax, dword [edi + 0x64]
add eax, 0x64
push eax
lea ecx, [esp + 0x38]
call fcn.004343c0
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x110]
mov byte [esp + 0x374], 0x16
call fcn.00434830
lea ecx, [esp + 0x34]
mov byte [esp + 0x370], 0x15
call fcn.00434720
lea edx, [esp + 0x24]
push edx
push 0x49d29c
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea eax, [esp + 0x9c]
push eax
push 0x49d2a0
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea ecx, [esp + 0x54]
push ecx
push 0x49d2a4
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea edx, [esp + 0x74]
push edx
push 0x49d2ac
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea eax, [esp + 0x64]
push eax
push 0x49d2bc
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea ecx, [esp + 0x10c]
push ecx
push 0x49d2c8
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea edx, [esp + 0x184]
push edx
push 0x49d2d4
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea eax, [esp + 0x144]
push eax
push 0x49d2dc
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea ecx, [esp + 0x124]
push ecx
push 0x49d2e4
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x138]
call fcn.00435770
lea ecx, [esp + 0x10c]
mov byte [esp + 0x370], 0x13
call fcn.00434720
lea ecx, [esp + 0x124]
mov byte [esp + 0x370], 0x11
call fcn.00434720
lea ecx, [esp + 0x144]
mov byte [esp + 0x370], 0xf
call fcn.00434720
lea ecx, [esp + 0x184]
mov byte [esp + 0x370], 0xd
call fcn.00434720
lea ecx, [esp + 0x64]
mov byte [esp + 0x370], 0xb
call fcn.00434720
lea ecx, [esp + 0x74]
mov byte [esp + 0x370], 9
call fcn.00434720
lea ecx, [esp + 0x54]
mov byte [esp + 0x370], 7
call fcn.00434720
lea ecx, [esp + 0x9c]
mov byte [esp + 0x370], 5
call fcn.00434720
lea ecx, [esp + 0x24]
dec esp
and al, 0x24
mov byte [esp + 0x370], 4
call fcn.00434720
lea ecx, [esp + 0x14]
mov byte [esp + 0x370], 3
call fcn.00434720
test esi, esi
jne 0x428751
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x42870b
call fcn.0046f8fc
mov edi, dword [edi]
jmp 0x428142
mov eax, dword [esi]
jmp 0x42818e
mov eax, dword [esi]
jmp 0x4281fa
mov eax, dword [esi]
jmp 0x42825e
mov eax, dword [esi]
jmp 0x4282c8
mov eax, dword [esi]
jmp 0x428334
mov eax, dword [esi]
jmp 0x4283a3
mov eax, dword [esi]
jmp 0x42840d
mov eax, dword [esi]
jmp 0x42847a
mov eax, dword [esi]
jmp 0x4284ef
mov eax, dword [esi]
jmp 0x428701
lea eax, [esp + 0x164]
push eax
push 0x49d318
lea ecx, [esp + 0x8c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea ecx, [esp + 0x134]
push ecx
push 0x49d28c
lea ecx, [esp + 0x8c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
push 1
lea ecx, [esp + 0x158]
call fcn.004341e0
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x6c]
push eax
lea ecx, [esp + 0x38]
call fcn.00434340
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x158]
mov byte [esp + 0x374], 0x18
call fcn.00434830
lea ecx, [esp + 0x34]
mov byte [esp + 0x370], 0x17
call fcn.00434720
push 6
lea ecx, [esp + 0x100]
call fcn.004341e0
mov byte [esp + 0x370], 0x19
mov eax, dword [esi + 0x68]
mov edi, dword [eax]
mov esi, dword [esi + 0x54]
lea esp, [esp]
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x68]
mov eax, dword [eax + 0x54]
test esi, esi
je 0x428812
cmp esi, eax
je 0x428817
call fcn.0046f8fc
cmp edi, ebx
je 0x428b6e
push 7
lea ecx, [esp + 0x18]
call fcn.004341e0
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x374], 0x1a
call fcn.004341e0
test esi, esi
jne 0x428b47
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x428856
call fcn.0046f8fc
mov eax, dword [edi + 8]
push eax
lea ecx, [esp + 0x38]
call fcn.00434340
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x374], 0x1c
call fcn.00434830
lea ecx, [esp + 0x34]
mov byte [esp + 0x370], 0x1b
call fcn.00434720
push 4
lea ecx, [esp + 0x78]
call fcn.004341e0
mov byte [esp + 0x370], 0x1d
test esi, esi
jne 0x428b4e
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4288b6
call fcn.0046f8fc
lea edx, [edi + 0xc]
push edx
lea ecx, [esp + 0xb0]
call fcn.004343c0
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x78]
mov byte [esp + 0x374], 0x1e
call fcn.00434830
lea ecx, [esp + 0xac]
mov byte [esp + 0x370], 0x1d
call fcn.00434720
push 4
lea ecx, [esp + 0x58]
call fcn.004341e0
mov byte [esp + 0x370], 0x1f
test esi, esi
jne 0x428b55
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x42891f
call fcn.0046f8fc
lea ecx, [edi + 0x44]
push ecx
lea ecx, [esp + 0xe0]
call fcn.004343c0
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x58]
mov byte [esp + 0x374], 0x20
call fcn.00434830
lea ecx, [esp + 0xdc]
mov byte [esp + 0x370], 0x1f
call fcn.00434720
push 4
lea ecx, [esp + 0xa0]
call fcn.004341e0
mov byte [esp + 0x370], 0x21
test esi, esi
jne 0x428b5c
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x42898b
call fcn.0046f8fc
lea eax, [edi + 0x28]
push eax
lea ecx, [esp + 0xf0]
call fcn.004343c0
lea ecx, [esp + 0xec]
push ecx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x374], 0x22
call fcn.00434830
lea ecx, [esp + 0xec]
mov byte [esp + 0x370], 0x21
call fcn.00434720
push 2
lea ecx, [esp + 0x28]
call fcn.004341e0
test esi, esi
jne 0x428b63
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4289ef
call fcn.0046f8fc
mov edx, dword [edi + 0x60]
push edx
lea ecx, [esp + 0xd0]
call fcn.00434340
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x374], 0x24
call fcn.00434830
lea ecx, [esp + 0xcc]
mov byte [esp + 0x370], 0x23
call fcn.00434720
lea ecx, [esp + 0x64]
push ecx
push 0x49d29c
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea edx, [esp + 0x74]
push edx
push 0x49d2a0
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea eax, [esp + 0x24]
push eax
push 0x49d300
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea ecx, [esp + 0x54]
push ecx
push 0x49d2ac
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea edx, [esp + 0x9c]
push edx
push 0x49d2c8
lea ecx, [esp + 0x1c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x100]
call fcn.00435770
lea ecx, [esp + 0x24]
mov byte [esp + 0x370], 0x21
call fcn.00434720
lea ecx, [esp + 0x9c]
mov byte [esp + 0x370], 0x1f
call fcn.00434720
lea ecx, [esp + 0x54]
mov byte [esp + 0x370], 0x1d
call fcn.00434720
lea ecx, [esp + 0x74]
mov byte [esp + 0x370], 0x1b
call fcn.00434720
lea ecx, [esp + 0x64]
mov byte [esp + 0x370], 0x1a
call fcn.00434720
lea ecx, [esp + 0x14]
mov byte [esp + 0x370], 0x19
call fcn.00434720
test esi, esi
jne 0x428b6a
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x428b40
call fcn.0046f8fc
mov edi, dword [edi]
jmp 0x428800
mov eax, dword [esi]
jmp 0x42884c
mov eax, dword [esi]
jmp 0x4288ac
mov eax, dword [esi]
jmp 0x428915
mov eax, dword [esi]
jmp 0x428981
mov eax, dword [esi]
jmp 0x4289e5
mov eax, dword [esi]
jmp 0x428b36
lea ecx, [esp + 0x154]
push ecx
push 0x49d328
lea ecx, [esp + 0x8c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
lea edx, [esp + 0xfc]
push edx
push 0x49d2f0
lea ecx, [esp + 0x8c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
push 6
lea ecx, [esp + 0x178]
call fcn.004341e0
mov byte [esp + 0x370], 0x25
mov esi, dword [esp + 0x10]
mov edi, dword [esi + 0xa0]
cmp edi, dword [esi + 0xa4]
jbe 0x428bdb
call fcn.0046f8fc
mov esi, dword [esi + 0x94]
jmp 0x428bf0
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0xa4]
cmp dword [eax + 0xa0], ebx
jbe 0x428c0b
call fcn.0046f8fc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x94]
test esi, esi
je 0x428c19
cmp esi, eax
je 0x428c1e
call fcn.0046f8fc
cmp edi, ebx
je 0x428cc4
push 2
lea ecx, [esp + 0x28]
call fcn.004341e0
test esi, esi
jne 0x428cbc
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x428c4a
call fcn.0046f8fc
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x38]
call fcn.00434340
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x28]
mov byte [esp + 0x374], 0x27
call fcn.00434830
lea ecx, [esp + 0x34]
mov byte [esp + 0x370], 0x26
call fcn.00434720
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x178]
call fcn.00435770
lea ecx, [esp + 0x24]
mov byte [esp + 0x370], 0x25
call fcn.00434720
test esi, esi
jne 0x428cc0
call fcn.0046f8fc
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x428cb4
call fcn.0046f8fc
add edi, 4
jmp 0x428bf0
mov eax, dword [esi]
jmp 0x428c40
mov eax, dword [esi]
jmp 0x428caa
lea eax, [esp + 0x174]
push eax
push 0x49d30c
lea ecx, [esp + 0x8c]
call fcn.004354a0
mov ecx, eax
call fcn.00434830
mov al, 0x74
mov byte [esp + 0x350], al
mov byte [esp + 0x352], al
mov al, 0x6e
mov byte [esp + 0x356], al
mov byte [esp + 0x35c], al
mov bl, 0x28
mov esi, 0xf
xor edi, edi
lea eax, [esp + 0x348]
mov byte [esp + 0x348], 0x6c
mov byte [esp + 0x349], 0x7e
mov byte [esp + 0x34a], 0x61
mov byte [esp + 0x34b], 0x40
mov byte [esp + 0x34c], 0x6d
mov byte [esp + 0x34d], 0x23
mov byte [esp + 0x34e], 0x62
mov byte [esp + 0x34f], 0x25
mov byte [esp + 0x351], 0x24
mov byte [esp + 0x353], 0x5e
mov byte [esp + 0x354], 0x75
mov byte [esp + 0x355], 0x2a
mov byte [esp + 0x357], bl
mov byte [esp + 0x358], 0x69
mov byte [esp + 0x359], 0x29
mov byte [esp + 0x35a], 0x6f
mov byte [esp + 0x35b], 0x25
mov byte [esp + 0x35d], 0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], edi
mov byte [esp + 0x38], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x428db3
sub eax, ecx
push eax
lea ecx, [esp + 0x34c]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004184f0
lea edx, [esp + 0x27c]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x374], bl
call fcn.0041c020
mov byte [esp + 0x370], 0x2a
cmp dword [esp + 0x4c], 0x10
jb 0x428e02
mov eax, dword [esp + 0x38]
push eax
call fcn.0046ddac
add esp, 4
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], edi
mov byte [esp + 0x3c], 0
call fcn.00435bc0
push edi
push eax
lea edx, [esp + 0x268]
push edx
lea ecx, [esp + 0x288]
mov byte [esp + 0x37c], 0x2b
call fcn.0041c1e0
mov byte [esp + 0x370], 0x2d
cmp dword [esp + 0xc4], 0x10
jb 0x428e63
mov eax, dword [esp + 0xb0]
push eax
call fcn.0046ddac
add esp, 4
lea ecx, [esp + 0x1d4]
push ecx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], edi
mov byte [esp + 0xb4], 0
call fcn.00429ba0
mov byte [esp + 0x370], 0x2e
mov edx, dword [esp + 0x1d4]
mov eax, dword [edx + 4]
mov ecx, dword [esp + eax + 0x1dc]
shr ecx, 2
test cl, 1
jne 0x428efe
lea edx, [esp + 0x260]
push edx
lea eax, [esp + 0x1d8]
push eax
call fcn.0042c410
add esp, 8
lea esi, [esp + 0x1d8]
call fcn.0041de00
test eax, eax
jne 0x428ef9
mov ecx, dword [esp + 0x1d4]
mov ecx, dword [ecx + 4]
mov eax, dword [esp + ecx + 0x1dc]
lea ecx, [esp + ecx + 0x1d4]
or eax, 2
cmp dword [ecx + 0x28], edi
jne 0x428ef2
or eax, 4
push edi
push eax
call fcn.0041f030
mov esi, 0xf
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x228]
mov dword [esp + 0x10], edx
mov dword [esp + ecx + 0x1d4], 0x49d378
lea edx, [esp + 0x1d8]
mov dword [esp + 0x120], edx
mov dword [esp + 0x1d8], 0x49d33c
mov byte [esp + 0x370], 0x30
cmp byte [esp + 0x220], 0
je 0x428f55
mov esi, edx
call fcn.0041de00
mov esi, 0xf
mov dword [esp + 0x1d8], 0x49d42c
mov byte [esp + 0x370], 0x31
mov eax, dword [esp + 0x210]
mov ebx, eax
cmp eax, edi
je 0x428fcc
mov edi, dword [eax]
test edi, edi
je 0x428fbe
push 0
lea ecx, [esp + 0x9c]
call fcn.00442c74
mov eax, dword [edi + 4]
test eax, eax
jbe 0x428f99
cmp eax, 0xffffffff
jae 0x428f99
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
not esi
lea ecx, [esp + 0x98]
and esi, edi
call fcn.00442c9c
test esi, esi
je 0x428fbe
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
push ebx
call fcn.0046ddac
add esp, 4
xor edi, edi
lea esi, [edi + 0xf]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x370], 0x2f
call fcn.004432b1
mov byte [esp + 0x370], 0x2d
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x228]
mov dword [esp + ecx + 0x1d4], 0x49d468
push edx
mov dword [esp + 0x22c], 0x49d41c
call fcn.0044339e
mov ebx, 0x10
add esp, 4
cmp dword [esp + 0x278], ebx
jb 0x429036
mov eax, dword [esp + 0x264]
push eax
call fcn.0046ddac
add esp, 4
mov dword [esp + 0x278], esi
mov dword [esp + 0x274], edi
mov byte [esp + 0x264], 0
cmp dword [esp + 0x2cc], ebx
jb 0x429065
mov ecx, dword [esp + 0x2b8]
push ecx
call fcn.0046ddac
add esp, 4
mov dword [esp + 0x2cc], esi
mov dword [esp + 0x2c8], edi
mov byte [esp + 0x2b8], 0
cmp dword [esp + 0x2b0], ebx
jb 0x429094
mov edx, dword [esp + 0x29c]
push edx
call fcn.0046ddac
add esp, 4
mov dword [esp + 0x2b0], esi
mov dword [esp + 0x2ac], edi
mov byte [esp + 0x29c], 0
cmp dword [esp + 0x294], ebx
jb 0x4290c3
mov eax, dword [esp + 0x280]
push eax
call fcn.0046ddac
add esp, 4
lea ecx, [esp + 0x174]
mov dword [esp + 0x294], esi
mov dword [esp + 0x290], edi
mov byte [esp + 0x280], 0
mov byte [esp + 0x370], 0x19
call fcn.00434720
lea ecx, [esp + 0xfc]
mov byte [esp + 0x370], 0x17
call fcn.00434720
lea ecx, [esp + 0x154]
mov byte [esp + 0x370], 3
call fcn.00434720
lea ecx, [esp + 0x134]
mov byte [esp + 0x370], 1
call fcn.00434720
lea ecx, [esp + 0x164]
mov byte [esp + 0x370], 0
call fcn.00434720
lea ecx, [esp + 0x84]
mov dword [esp + 0x370], 0xffffffff
call fcn.00434720
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x350]
xor ecx, esp
call fcn.0046ddb7
mov esp, ebp
pop ebp
ret